package co.com.smart.persistence.entity.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the smart_ciudad database table.
 * 
 */
@Entity
@Table(name="smart_ciudad")
@NamedQuery(name="SmartCiudad.findAll", query="SELECT s FROM SmartCiudad s")
public class SmartCiudad implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="sm_scciudad")
	private BigDecimal smscciudad;

	@Column(name="sm_cociudad")
	private String smcociudad;

	@Column(name="sm_dsciudad")
	private String smdsciudad;

	@Column(name="sm_cousuario")
	private String smcousuario;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhingreso")
	private Date smfhingreso;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhmodificacion")
	private Date smfhmodificacion;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhretiro")
	private Date smfhretiro;

	//bi-directional many-to-one association to SmartDepartamento
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="sm_scdepartamento", referencedColumnName="sm_scdepartamento")
	private SmartDepartamento smartDepartamento;

	//bi-directional many-to-one association to SmartZona
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartCiudad", fetch = FetchType.LAZY)
	private List<SmartZona> smartZona;

	//bi-directional many-to-one association to SmartZona
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smScciudad", fetch = FetchType.LAZY)
	private List<SmartSede> smartCiudad;

	public BigDecimal getSmscciudad() {
		return smscciudad;
	}
	
	public List<SmartSede> getSmartCiudad() {
		return smartCiudad;
	}



	public void setSmartCiudad(List<SmartSede> smartCiudad) {
		this.smartCiudad = smartCiudad;
	}



	public void setSmscciudad(BigDecimal smscciudad) {
		this.smscciudad = smscciudad;
	}

	public String getSmcociudad() {
		return smcociudad;
	}

	public void setSmcociudad(String smcociudad) {
		this.smcociudad = smcociudad;
	}

	public String getSmdsciudad() {
		return smdsciudad;
	}

	public void setSmdsciudad(String smdsciudad) {
		this.smdsciudad = smdsciudad;
	}

	public String getSmcousuario() {
		return smcousuario;
	}

	public void setSmcousuario(String smcousuario) {
		this.smcousuario = smcousuario;
	}

	public Date getSmfhingreso() {
		return smfhingreso;
	}

	public void setSmfhingreso(Date smfhingreso) {
		this.smfhingreso = smfhingreso;
	}

	public Date getSmfhmodificacion() {
		return smfhmodificacion;
	}

	public void setSmfhmodificacion(Date smfhmodificacion) {
		this.smfhmodificacion = smfhmodificacion;
	}

	public Date getSmfhretiro() {
		return smfhretiro;
	}

	public void setSmfhretiro(Date smfhretiro) {
		this.smfhretiro = smfhretiro;
	}

	public SmartDepartamento getSmartDepartamento() {
		return smartDepartamento;
	}

	public void setSmartDepartamento(SmartDepartamento smartDepartamento) {
		this.smartDepartamento = smartDepartamento;
	}

	public List<SmartZona> getSmartZona() {
		return smartZona;
	}

	public void setSmartZona(List<SmartZona> smartZona) {
		this.smartZona = smartZona;
	}
}